E.A.G.L.E.
Auf Leiterplatten werden elektronische Komponenten
mechanisch fixiert, also durch Löten befestigt und
miteinander verbunden. Nahezu jedes elektronische Gerät
enthält eine oder mehrere Leiterplatten. Mit EAGLE kann
man diese Leiterplatten entwerfen. Der Name des Programms
ist ein Initialwort und bedeutet so viel wie Einfach
Anzuwendender Grafischer Layout-Editor. Dieser Name ist
nicht unpassend, da die Steuerung intuitiv per Maus
funktioniert und viele hilfreiche Tools und Funktionen
den Betrieb der Software vereinfachen und beschleunigen.
Die Software besteht aus drei Hauptkomponenten:
Dem Schaltplan-Editor, dem Layout-Editor und dem Autorouter.
Zusätzlich gibt es noch eine erweiterbare Bauteil-Datenbank.
Im Schaltplan-Editor wird das Grundgerüst der Platine erstellt:
Es werden die benötigten Bauteile (meistens aus der Bauteil-Datenbank
stammend) gesetzt und miteinander verbunden, sodass diese die
benötigten Funktionen ausführen können. Es wird also ein Schaltplan
erstellt, der später dabei hilft, die Pins der Bauteile im Layout-Editor
richtig miteinander zu verbinden. Darüber hinaus werden hier die Art und
die Menge der verwendeten Bauteile bestimmt. Optisch ist dies als Schema
dargestellt, in dem die Verbindungen grün und die Bauteile zumeist weiß
mit schwarzer Umrandung dargestellt werden. Die blauen Leitungen sind
sogenannte „Bus“ Verbindungen, also zusammengelegte Kabel mit gemeinsamer
Streckenführung. Im Schaltplan dient dies der Übersichtlichkeit, im Layout
hat dies jedoch keine Auswirkungen.
Schaltplan-Editor
Layout-Editor
EAGLE ist, nach der Fertigung des Schaltplans, dazu fähig, diesen in den
Layout-Editor zu übertragen. Hier sollte man zunächst die Größe der Platine
festlegen indem man Dimension-Linien setzt, die die Form der Platine bestimmen.
Hierfür kann man ein Design importieren, das man in einem anderen Programm
wie OpenScad erstellt hat (nach der Konvertierung in das richtige Format)
oder man zeichnet es direkt im Editor per Maus. Die im Schaltplan gewählten
Bauteile befinden sich zu dem Zeitpunkt schon in dem Layout und so müssen
diese nur noch korrekt auf der Platine platziert werden. Die Platzierung
erfolgt einfacherweise auch per Maus und Befehlen wie Rotieren, Verschieben,
Spiegeln und Drehen um einen Punkt (zum Beispiel die Mitte der Platine) machen
dies ebenso einfach wie auch sehr präzise, da die Einheiten beliebig veränderbar
sind. Wenn dies geschafft ist, müssen die Kabel verlegt werden. Die im Schaltplan
gezogenen Verbindungen werden im Layout-Editor durch gelbe Linien ersetzt, die die
zu verbindenden Pins der Bauteile kennzeichnen. Durch klicken auf diese Verbindungen
wird diese angewählt und man kann schrittweise die Kabelführung bestimmen. Auch
dies ist sehr variabel, denn man kann die Leitungen in allen möglichen Winkeln verlegen:
Man kann die Platine in verschiedene Schichten unterteilen und zum Beispiel wie wir bei
den BohleBots die obere für die Stromführende Leiterbahnen verwenden und die Unterseite
als "Groundplate" verwenden, um alle Bauteile daran erden zu können und so Leitungen
zu sparen. Dazu wird die gesamte Unterseite leitfähig gemacht und die zu erdenden
Pins werden automatisch damit verbunden. Wenn man das Layout abgeschlossen hat
bietet EAGLE noch den Design Rule Check (DRC). Dieser prüft, ob die in den globalen
Einstellungen festgelegten Design-Regeln eingehalten wurden. Diese beziehen sich vor
allem auf Überlappungen von Signalen, Unterschreitung von Mindestabständen, zu kleine
Bohrdurchmesser und zu dünne Leiterbahnen. Dadurch wird gewährleistet, dass die Platine
keine Fehler aufweist, die dem Layout geschuldet sind und möglicherweise die Haltbarkeit
oder die Funktionalität der Platine einschränken. Diese globalen Design-Regeln sind
zunächst voreingestellt, können allerdings manuell auf die jeweiligen Bedürfnisse
angepasst werden.
Autorouter
Der Autorouter bildet eine Möglichkeit, die langwierige Designfindung drastisch zu beschleunigen.
Wie der Name es schon sagt, ist der Autorouter ein Algorithmus, der die Leiterbahnen vollautomatisch
und entsprechend der Designregeln verlegt. Dabei kann man bis zu 16 Signallagen mit einstellbaren
Vorzugsrichtungen und theoretischen Kostenfaktoren in den Algorithmus mit einfließen lassen.
Nachteile hierbei sind, dass es manchmal zu nicht optimal verlegten Leiterbahnen kommt oder der
Autorouter (speziell bei komplexeren oder auch engen Platinen) für manche Verbindungen keine
Möglichkeit findet und diese dann offenlässt. Aber dennoch kann man durch ihn enorm viel Zeit
sparen. Beindruckend ist auch die Geschwindigkeit mit der der Autorouter die Verbindungen findet.
Besonders nach dem Update auf Versionsnummer 7 von EAGLE, ist das Programm dazu fähig den Algorithmus
multithreaded auszuführen, um die Vorteile mehrkerniger CPU’s zu nutzen. Dies beschleunigt den Ablauf
drastisch und wird dazu genutzt einen komplexeren Algorithmus ausführen zu können, der in der gleichen
Zeit ein besseres Design findet, d.h. weniger Übergangspunkte und weniger darauffolgende
Optimierungsarbeit des Nutzers.
Verwendung bei den BohleBots
Die Software wird bei den BohleBots zur Erstellung der Platinen für die Roboter verwendet und ist
somit essentiell für den Bau der Roboter. Jeder Roboter besitzt eine oder zwei Hauptplatinen in der
Form des Bots, die mit den Hauptkomponenten bestückt werden und zusätzliche Platinen für die Adapter
für die Motortreiber, die Taster, den Kompass oder die Stromzufuhr in den 2vs.2-Bots. Diese Platinen
werden daraufhin von der Firma Wendling für uns gefertigt.
Platine für den Omnibot
Der Omnibot oder auch Tribot genannt benötigte wegen seinen drei Schaufeln eine andere Platine als
die übrigen Bots. Also musste eine extra Platine hergestellt werden die diesen Ansprüchen genügt.
Diese sollte vom Aufbau die Komponenten der Platinen des Vorjahres benutzen, jedoch sollten diese
im Gegensatz dazu auf eine einzelne Platine angebracht werden. Also mussten die Schaltpläne aus dem
Vorjahr zunächst in einen einzelnen kopiert werden und dann per I2C-Bus miteinander verbunden werden.
Dazu mussten zwei Datenleitungen des einen Schaltplans mit den dazugehörigen des anderen Schaltplans
verbunden werden und mit einem Widerstand mit Strom versorgt werden, um die Funktionalität des
I2C-Busses zu ermöglichen. Da beide Schaltpläne allerdings einiges doppelt besaßen (Stromzufuhr, I2C-Bus)
und einiges nicht benötigt wurde (Kicker, Taster) konnten diese Bauteile gelöscht werden und so konnte auf
der Platine Platz gewonnen werden, der sonst durch die Zusammenlegung eng geworden wäre. Danach wurde der
Schaltplan in den Layout-Editor übertragen. Das spezielle Design des Tribots wurde vorher in OpenScad
als zweidimensionales Objekt erzeugt. Dieses wurde darauf, nach der Konvertierung in .dxf, in den Editor
eingefügt und diente nun als „Dimension“ als Begrenzung für die Platine. Daraufhin wurden die Bauteile
platziert. Besonders schwierig bzw. aufwändig hierbei gestalteten sich die Löcher für die späteren
Befestigungen und die genaue Ausrichtung der Infrarot-Sensoren. Beides musste sehr genau ausgerichtet
werden, denn insbesondere die Löcher mussten exakt an den dafür vorgesehenen Stellen gesetzt werden, damit
sich der Roboter nachher zusammenbauen ließ. Um Zeit zu sparen verwendeten wir danach den Autorouter um
(zumindest einen großen Teil) des Layouts zu erstellen. Zusätzlich definierten wir die Unterseite der
Platine als Groundplate/Erdung (wie oben beschrieben). Zum Schluss kam noch der DRC zum Einsatz, um
mögliche Fehler zu eliminieren.
Tobias Hoffmann
Aufgetretene Fehler
Allerdings kam es, so wie meistens bei der ersten Platine, zu einigen Fehlern. Zum einen musste nachträglich
noch ein Spannungswandler angebracht werden um die Teensys mit Strom zu versorgen und zum anderen fehlte die
Verbindung zwischen den beiden Teensys und somit war die Kommunikation zwischen diesen nicht möglich.
Der I2C-Bus, der dieser Verbindung entsprechen sollte, wurde, wie oben beschrieben, nachträglich in den Schaltplan
eingefügt, um die beiden Schaltpläne zu verbinden. Dieser tauchte auch so im Layout-Editor auf, allerdings fehlte
die Verbindung auf der fertigen Platine. Wie es dazu kam ist unklar. Deswegen musste diese Verbindung nachträglich
ergänzt werden. Geschuldet war dies vermutlich zum Teil den oben genannten „Bus-Verbindungen“. Bei dem
Zusammenlegen von zwei Schaltplänen kann es zu unterschiedlicher Benennung ein und desselben Stromkreises kommen, jedoch
wird dies innerhalb der „Bus-Verbindungen“ schnell übersehen, da diese viele Leiter beinhalten. Somit kann es schnell
dazu kommen, dass ein Leiter im Schaltplan-Editor optisch mit dem Bus verbunden ist, aber nicht mit dem richtigen Kabel
und somit keine Verbindung besteht.